const mysql = require('mysql2/promise');

// 应用配置
const config = {
    // 数据库配置
    DB: {
        host: 'localhost',
        user: 'root',
        password: 'root',
        database: 'transfer_url',
        waitForConnections: true,
        connectionLimit: 10,
        queueLimit: 0,
        // 连接超时设置（毫秒）
        connectTimeout: 10000,
        // 查询超时设置（毫秒）
        maxIdle: 10,
        idleTimeout: 60000
    },
    
    // 并发控制配置
    RATE_LIMIT: {
        // 时间窗口，单位为毫秒
        WINDOW_MS: 1 * 60 * 1000, // 1分钟
        // 在时间窗口内允许的最大请求数
        MAX_REQUESTS: 10000  // 每分钟10000次请求
    },

    // 性能优化配置
    PERFORMANCE: {
        // 启用压缩
        COMPRESSION: true
    }
};

const pool = mysql.createPool(config.DB);

module.exports = { pool, config };